//
//  AppDelegate.swift
//  Weibo
//
//  Created by niqiang on 16/6/30.
//  Copyright © 2016年 niqiang. All rights reserved.
//

import UIKit
import UserNotifications
import SVProgressHUD
import AFNetworking

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    
    var window: UIWindow?
    
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        
        //应用程序额外设置
        setupAddition()
        
        window = UIWindow()
        window?.backgroundColor = UIColor.white()
        
        window?.rootViewController = WBMainViewController()
        window?.makeKeyAndVisible()
        
        return true
    }
}

//MARK: - 设置应用程额外信息
extension AppDelegate {
    private func setupAddition(){
        // 1设置SVProgressHUD 最小解除时间
        SVProgressHUD.setMinimumDismissTimeInterval(1)
        
        //2设置网络加载指示器
        AFNetworkActivityIndicatorManager.shared().isEnabled = true
        
        //3设置用户授权显示通知
        //#available 是检测设备版本，如果是10.0 以上
        if #available(iOS 10.0, *) {
            UNUserNotificationCenter.current().requestAuthorization([.alert, .badge, .sound]){(success, error) in
                print("授权" + (success ? "成功" : "失败"))
            }
        } else {
            
            //10.0 一下
            //取得用户授权显示通知【上方显示提示条/声音/badgrNumber】
            let notifySerrings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
            
            UIApplication.shared().registerUserNotificationSettings(notifySerrings)
            
        }
        
    }
}

//MARK: -从服务器加载应用程序信息
extension AppDelegate {
    
    private func loadAppInfo(){
        
        //1.模拟异步
        DispatchQueue.global().async{
            
            //1>url
            let url = Bundle.main().urlForResource("main.json", withExtension: nil)
            //2>data
            let data = NSData(contentsOf: url!)
            //3>写入磁盘
            let docDir = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
            let jsonPath = (docDir as NSString).appendingPathComponent("main.json")
            
            //直接保存在沙盒，等待下一次程序启动使用
            data?.write(toFile: jsonPath, atomically: true)
            
            print("应用程序加载完毕\(jsonPath)")
            
        }
    }
}
